/*!
 * @file
 *
 * @section LICENSE
 *
 * Copyright (C) 2017 by the Georgia Tech Research Institute (GTRI)
 *
 * This file is part of SCRIMMAGE.
 *
 *   SCRIMMAGE is free software: you can redistribute it and/or modify it under
 *   the terms of the GNU Lesser General Public License as published by the
 *   Free Software Foundation, either version 3 of the License, or (at your
 *   option) any later version.
 *
 *   SCRIMMAGE is distributed in the hope that it will be useful, but WITHOUT
 *   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 *   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 *   License for more details.
 *
 *   You should have received a copy of the GNU Lesser General Public License
 *   along with SCRIMMAGE.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @author Kevin DeMarco <kevin.demarco@gtri.gatech.edu>
 * @author Eric Squires <eric.squires@gtri.gatech.edu>
 * @date 31 July 2017
 * @version 0.1.0
 * @brief Brief file description.
 * @section DESCRIPTION
 * A Long description goes here.
 *
 */

#include <pybind11/pybind11.h>
#include <py_utils.h>
#include <memory>

PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)

// see: http://pybind11.readthedocs.io/en/master/faq.html#how-can-i-reduce-the-build-time
PYBIND11_MODULE(py_bindings, m) {
    m.doc() = "pybind11 example plugin";

    add_math(m);
    add_pubsub(m);
    add_common(m);
    add_autonomy(m);
    add_openai_env(m);

    m.def("frames2pandas", &frames2pandas, "converts a protobuf frames.bin file to a pandas DataFrame");
}
